Uec3.initialViewAllItemsWindow = Ext.extend(Ext.app.Module, {
    id: 'initial_viewAllItems',
    objsCollection:new Ext.util.MixedCollection(true),
	getObjByKey:function(key){
		return this.objsCollection.get(key);
	},
    view:function(initialId){
		this.getObjByKey("initialItemDetailViwe")(initialId);
	},
   /**
    * Initialize this module.
    * This function is called at startup (page load/refresh).
    */
    init : function(initParams){  	
    }, 
    getPanel:function() {
   	var module=this;
    var initialItem_record = Ext.data.Record.create( [ {
		name : 'id',
		type : 'int',
		mapping : 'id'
	}, {
		name : 'initialId',
		type : 'int',
		mapping : 'initialId'
	}, {
		name : 'initialCode',
		type : 'string',
		mapping : 'initialCode'
	}, {
		name : 'partId',
		type : 'int'
	}, {
		name : 'code',
		type : 'string',
		mapping : 'code'
	}, {
		name : 'source',
		type : 'int',
		mapping : 'source'
	}, {
		name : 'sourceName',
		type : 'string',
		mapping : 'sourceName'
	}, {
		name : 'name',
		type : 'string',
		mapping : 'name'
	}, {
		name : 'measurementUnit',
		type : 'string',
		mapping : 'measurementUnit'
	}, {
		name : 'partCategoryId',
		type : 'int',
		mapping : 'partCategoryId'
	}, {
		name : 'level1Name',
		type : 'string',
		mapping : 'level1Name'
	}, {
		name : 'level2Name',
		type : 'string',
		mapping : 'level2Name'
	}, {
		name : 'level1Id',
		type : 'int',
		mapping : 'level1Id'
	}, {
		name : 'level1Id',
		type : 'int',
		mapping : 'level1Id'
	}, {
		name : 'brand',
		type : 'string',
		mapping : 'brand'
	}, {
		name : 'origin',
		type : 'string',
		mapping : 'origin'
	}, {
		name : 'cost',
		type : 'float',
		mapping : 'cost'
	}, {
		name : 'retailPrice',
		type : 'float',
		mapping : 'retailPrice'
	}, {
		name : 'insurancePrice',
		type : 'float',
		mapping : 'insurancePrice'
	}, {
		name : 'minPrice',
		type : 'float',
		mapping : 'minPrice'
	}, {
		name : 'costAmout',
		type : 'float',
		mapping : 'costAmout'
	}, {
		name : 'quantity',
		type : 'int',
		mapping : 'quantity'
	}, {
		name : 'costAmount',
		type : 'float',
		mapping : 'costAmount'
	}, {
		name : 'shelf',
		type : 'string',
		mapping : 'shelf'
	}, {
		name : 'maxOnHand',
		type : 'int',
		mapping : 'maxOnHand'
	}, {
		name : 'minOnHand',
		type : 'int',
		mapping : 'minOnHand'
	}, {
		name : 'swapCode',
		type : 'string',
		mapping : 'swapCode'
	}, {
		name : 'storeId',
		type : 'int',
		mapping : 'storeId'
	}, {
		name : 'storeName',
		type : 'string',
		mapping : 'storeName'
	}, {
		name : 'checkResult',
		type : 'string',
		mapping : 'checkResult'
	} ]);
	/* store */
	var ds_source_select = new Ext.data.Store( {
		url : Uec3.App.Constants.homeUrl+'/dictionary/findByVarGroup.do',
		// autoLoad:true,
		baseParams : {
			group : 'part_source'
		},
		reader : new Ext.data.JsonReader( {
			root : ''
		}, [ {
			name : 'varIndex',
			type : 'int'
		}, {
			name : 'varName',
			type : 'string'
		} ])
	});

	var ds_initialItem = new Ext.data.Store( {
		proxy : new Ext.data.HttpProxy( {
			url : Uec3.App.Constants.homeUrl+'/initialItem/extList.do'
		}),
		pruneModifiedRecords : true,
		baseParams : {
			
		},
		paramNames : {
			start : "start",
			limit : "limit",
			sort : "sort",
			dir : "dir"
		},
		reader : new Ext.data.JsonReader( {
			totalProperty : 'totalProperty',
			root : 'root'
		}, initialItem_record)
	});
	module.objsCollection.add("store",ds_initialItem);
	/* store结束 */
	
	var source_comboBox = new Ext.form.ComboBox( {
		// name : 'varName',
		typeAhead : true,
		width : 120,
		valueField : 'varIndex',
		displayField : 'varName',
		mode : 'remote',
		hiddenName : 'source',
		store : ds_source_select,
		selectOnFocus : true,
		triggerAction : 'all',
		allowBlank : false,
		loadingText : '加载中...',
		editable : false,
		emptyText : '请选择'
	});
	var cm_initialItem = new Ext.grid.ColumnModel( [ new Ext.grid.RowNumberer(), {
		header : '操作',
		width : 50,
		dataIndex : 'initialId',
		renderer:module.moduleActionRenderer({
			func:"view",
			desc:"单据",
			reader:function(value, cellmeta, record, rowIndex, columnIndex, store){
				return record.data.initialId
			}
		})
		
	},{
		header : '单据号',
		width : 100,
		sortable : true,
		dataIndex : 'initialCode'
	},{
		header : '零件编码',
		width : 100,
		sortable : true,
		dataIndex : 'code'
	}, {
		header : '零件名称',
		width : 75,
		sortable : true,
		dataIndex : 'name'
	}, {
		header : '来源',
		width : 75,
		sortable : true,
		dataIndex : 'sourceName'
	}, {
		header : '单位',
		width : 75,
		sortable : true,
		dataIndex : 'measurementUnit'
	}, {
		header : '品牌',
		width : 75,
		sortable : true,
		dataIndex : 'brand'
	}, {
		header : '产地',
		width : 75,
		sortable : true,
		dataIndex : 'origin'
	}, {
		header : '数量',
		width : 75,
		sortable : true,
		dataIndex : 'quantity'
	}, {
		header : '仓库',
		width : 75,
		sortable : true,
		dataIndex : 'storeId'
	}, {
		header : '仓位',
		width : 75,
		sortable : true,
		dataIndex : 'shelf'
	}, {
		header : '进价',
		width : 75,
		sortable : true,
		dataIndex : 'cost'
	}, {
		header : '售价',
		width : 75,
		sortable : true,
		dataIndex : 'retailPrice'
	}, {
		header : '最低售价',
		width : 75,
		sortable : true,
		dataIndex : 'minPrice'
	}, {
		header : '上限库存',
		width : 75,
		sortable : true,
		dataIndex : 'minOnHand'
	}, {
		header : '下限库存',
		width : 75,
		sortable : true,
		dataIndex : 'maxOnHand'
	}, {
		header : '互换码',
		width : 75,
		sortable : true,
		dataIndex : 'swapCode'
	}, {
		header : '错误',
		width : 75,
		sortable : true,
		dataIndex : 'checkResult'
		}]);
	
	var initialItem_search_grid=new Ext.grid.EditorGridPanel(
		{
			cm : cm_initialItem,
			store : ds_initialItem,
			selModel : new Ext.grid.RowSelectionModel( {
				moveEditorOnEnter : true
			}),
			iconCls : 'icon-grid',
			loadMask : {
				msg : '数据加载中...'
			},
			stripeRows : true,
			autoScroll : true,
			//autoload : true,
			height : 320,
			width : '100%',
			clicksToEdit : 1,
			listeners : {

			},
			bbar : new Ext.PagingToolbar({
				pageSize : 10,
				store : ds_initialItem,
				displayInfo : true,
				style : 'center',
				displayMsg : '第 {0} - {1} 条  共 {2} 条',
				emptyMsg : "没有记录"
			})
		});
	var initialItem_search_form=new Ext.Panel({
		items:[{
			xtype : 'fieldset',
			border : false,
			layout : 'column',
			width : '100%',
			labelWidth:70,
			items : [{
					layout : 'form',
					items : [{
						xtype : 'textfield',
						name:'textSearchConditions',
						fieldLabel : '模糊查询',
					    width : 200,
					    
			            emptyText : '多条件可用逗号或者空格隔开!',
			         	listeners : {
				        	'specialkey' : function(field, e) {
					    		if (e.getKey() == Ext.EventObject.ENTER) {
								searchInitialItem();
								}
							}
						}	
					}]
			  },{
				 layout : 'form',
				 items : [{
					xtype : 'button',
					text : '查    询',
					width:50,
					style:"margin-left:40px;",
					listeners:{
					'click':searchInitialItem
					}
		   
				 }]
			  },{
			  	xtype:'label',
			  	text:'可查条件:零件编码,零件名称,品牌,错误信息',
			  	style:"color:#ff3333;font-size:14px;margin-left:20px;"
			  }]
		}]
	});

	var initialItem_panel=new Ext.FormPanel({
	    header:true,
		frame:true,
		//collapsible:true,
		//autoScroll:true,
		//bodyStyle:'background-color:#FFFFFF',
		//height:200,
		items:[initialItem_search_form,initialItem_search_grid]
	});
	init();
	function init(){
		ds_source_select.load();
    	ds_initialItem.load();
        //初始grid头部面板
        //initTopToolvar(initialItem_search_grid);
     	//initialItem_panel.render("initialItem");
	}
	function initTopToolvar(initialItem_search_grid){
		var topToolvar =initialItem_search_grid.getTopToolbar();
    	topToolvar.removeAll(true);
	}

	function searchInitialItem(){
		var obj=initialItem_panel.getForm().findField("textSearchConditions").getValue();
		ds_initialItem.baseParams={searchConditions:obj};
		ds_initialItem.load();
	}


	var btn_search_initialItem = new Ext.Button({
		text : '查询',
		iconCls : 'icon-search',
		handler : searchInitialItem
	});
	function redirectUrl(url){
		var panel = Ext.getCmp('id_center');
		var actPanel = panel.getActiveTab().load({url:Uec3.App.Constants.homeUrl+''+url,scripts:true});
    }
    var initialItemDetailViwe=function(id){
    	var desktop =Uec3.App.getDesktop();   
		desktop.launchWindowByParam("initial_operation",{id:id,winId:id}); 
		
	}
	module.objsCollection.add("initialItemDetailViwe",initialItemDetailViwe);
   	return initialItem_panel;
   },
   createWindow : function(){
      var desktop = this.app.getDesktop();
      var win = desktop.getWindow('initial_viewAllItems');
      if(!win){ 
         win = desktop.createWindow({
            id: 'initial_viewAllItems',
            title: '期初单',
            width: 1000,
           	height: 500,
            iconCls: 'acc-icon',
            shim: false,
            animCollapse: false,
            constrainHeader: true,
            maximizable: true,
            layout: "fit",   
            items:[this.getPanel()],
            listeners:{
            	'resize':function(win,width,height){
            		var top=this.items.get(0).items.first();
            		var grid=this.items.get(0).items.last();
            		var winMinWidth=900;
            		var winMinHeight=440;
            		if(width<winMinWidth||height<winMinHeight){
            			win.setWidth(winMinWidth);
            			win.setHeight(winMinHeight);
            			grid.setHeight(winMinHeight-110);
            			//grid.setWidth(winMinWidth-20);
            		}else{
            			grid.setWidth(width-20);
            			grid.setHeight(height-110);
            		}
            	}
            }
         });
      //this.viewValue();
      win.show();
      } 
   }
});